home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0256 / mdebug22.exe / _T&T_.DOC next >
Text File  |  1992-11-21  |  5KB  |  148 lines

  1.  
  2.  
  3.                    Tips & Tricks für die Benutzung von MDEBUG
  4.                    ──────────────────────────────────────────
  5.  
  6. ■ Falls Sie MDEBUG oder einen der Treiber MDHISDRV oder MDDISDRV in
  7.   einen UMB laden wollen, sollten Sie auf jeden Fall den Parameter
  8.   LOADH (bzw. /H1 für die Treiber) dem DOS-Befehl LH vorziehen.
  9.  
  10.   Grund:
  11.  
  12.   Im Gegensatz zum Hochladen über die Parameter benötigt der DOS-
  13.   Befehl mehr freien Speicherplatz im UMB (für den transienten Teil,
  14.   den residenten Teil und das Environment). Da beim DOS-Befehl LH
  15.   zudem das Environment ebenfalls in den UMB geladen wird (und zwar
  16.   vor das eigentliche Programm), dieses aber von MDEBUG und den
  17.   Treibern sowieso wieder freigegeben wird, erhalten Sie in diesem
  18.   Fall zusätzliche unbelegte Löcher im UMB.
  19.   Zum Hochladen von MDEBUG und den Treibern durch diese selbst, wird
  20.   nur soviel freier Speicherplatz im UMB benötigt wie der residente
  21.   Teil von MDEBUG bzw. den Treibern belegt.
  22.  
  23.  
  24. ■ Falls in den Popup-Windows von MDEBUG kein Cursor erscheint,
  25.   müssen Sie den Parameter 'CoC' verwenden:
  26.  
  27.   MDEBUG SET CoC=n1,n2
  28.  
  29.   ('n1' = Cursor-Attribut für den Insert-Modus, 'n2' = Cursor-Attribut
  30.    für den Overwrite-Modus)
  31.  
  32.  
  33. ■ Falls Sie die Windows von MDEBUG auf einen zweiten Bildschirm
  34.   umgeleitet haben (über den Parameter 'TEXT') und ein Popup von
  35.   MDEBUG nicht möglich ist, sobald der Original-Graphikadapter
  36.   im Graphik-Modus ist, geben Sie den Parameter 'TEXT' in der
  37.   vollständigen Form an:
  38.  
  39.   MDEBUG SET TEXT=nnnn,0
  40.  
  41.   ('nnnn' ist das Segment des Bildschirmspeichers des zweiten
  42.    Bildschirms)
  43.  
  44.  
  45. ■ Falls Ihnen die Voreinstellungen für die Farben von MDEBUG nicht
  46.   zusagen, können Sie diese auch schon in der Shareware-Version
  47.   ändern:
  48.  
  49.   (1) Installieren Sie MDEBUG und rufen Sie MDEBUG über den Hotkey auf.
  50.       Führen Sie dann folgenden Befehl im Interpreter aus:
  51.  
  52.           MOV AX,P3 ^ MOV BX,P4
  53.  
  54.       Notieren Sie sich nun die Werte aus den Registern AX und BX.
  55.  
  56.   (3) Verlassen Sie MDEBUG.
  57.  
  58.   (4) Entfernen Sie MDEBUG mit dem Parameter 'EXIT' aus den Speicher.
  59.  
  60.   (5) Laden Sie den DOS-Debugger DEBUG.COM und führen Sie dort folgende
  61.       Befehle aus:
  62.  
  63.           nMDEBUG.COM
  64.           l
  65.           e p3_offs
  66.           n1 n2
  67.           e p4_offs
  68.           n3 n4
  69.           w
  70.           q
  71.  
  72.       Hinweis: Hierbei ist p3_offs der Wert aus dem Register AX und
  73.                p4_offs ist der Wert aus dem Register BX (Schritt 1).
  74.                n1 ist die neue Farbe für den Interpreter, n2 ist die
  75.                neue Farbe für den Monitor, n3 ist das neue Attribut
  76.                für den Cursor im Insert-Modus und n4 ist das neue
  77.                Attribut für den Cursor im Overwrite-Modus.
  78.  
  79.  
  80. ■ Für eine Color-Graphik-Karte können Sie z.B. folgende Farben
  81.   benutzen:
  82.  
  83.      MDEBUG CoM=74 CoD=71 CoH1=31 CoH2=3Eh CoH3=1B CoC=9E,CE
  84.  
  85.   und
  86.  
  87.      MDDISDRV /F1,4E /F2,4B /F3,71
  88.  
  89.  
  90. ■ Verschiedene Programme (vor allem Spiele) verändern das Statusbyte
  91.   für die Umschalt-Tasten der Tastatur, so daß nach dem Beenden des
  92.   Programms z.B. der Status der Tasten CAPSLOCK oder NUMLOCK dort
  93.   falsch eingetragen ist.
  94.  
  95.   Diesen Fehler können Sie über MDEBUG folgendermaßen beheben:
  96.  
  97.   (1) Schalten Sie NUMLOCK und CAPSLOCK aus
  98.  
  99.   (2) Rufen Sie MDEBUG über den Hotkey aus und führen folgenden
  100.       Befehl aus:
  101.  
  102.           MOV 040:*[017],0
  103.  
  104.       Dadurch werden im Statusbyte für die Tastatur alle Bits gelöscht
  105.       (->> NUMLOCK, CAPSLOCK, INSERT und SCROLLLOCK sind jeweils aus-
  106.            geschaltet.)
  107.  
  108.  
  109. ■ Zum Ermitteln der Tastaturcodes mehrerer Tasten bietet sich folgende
  110.   Befehlszeile an:
  111.  
  112.       M AH,00 ^ I 16 ^ ¿H AL=1B @ Taste drücken, AX = Tastencode (ESC = Ende)
  113.  
  114.   oder
  115.  
  116.       M AH,10 ^ I 16 ^ ¿H AL=1B @ Taste drücken, AX = Tastencode (ESC = Ende)
  117.  
  118.  
  119. ■ Zum Disassemblieren eines Programms mit dem Disassembler MDDISDRV muß
  120.   dieses vorher über einen  normalen Debugger,  z.B. DEBUG.COM, geladen
  121.   werden.
  122.  
  123.  
  124. ■ In dem als Adresse, für die eine Code-Referenz gesucht wird, die
  125.   aktuelle Adresse einer Interrupt-Routine angegeben wird, können mit
  126.   dieser Funktion des Disassemblers auch Interrupt-Aufrufe gesucht
  127.   werden:
  128.  
  129.   Beispiel:
  130.  
  131.   Suche nach einer Code-Referenz für den Interrupt 21h
  132.  
  133.   (1) Über die Tastenfolge 'I21' den  Disassembler zur Anzeige des
  134.       Codes des Interrupt 21h veranlassen.
  135.  
  136.   (2) Über die Taste <Insert> die Adresse der Interrupt-Routine auf
  137.       den Adressen-Stack pushen.
  138.  
  139.   (3) Über die Taste <0> zurück zur alten Startadresse springen
  140.  
  141.   (4) Über die Taste <F8> die Suche nach der Code-Referenz starten.
  142.       Die Adresse, die gesucht werden muß, steht jetzt als oberste
  143.       Adresse auf dem Adressen-Stack.
  144.  
  145.   Beachten Sie aber, daß Sie die aktuelle Adresse des zu suchenden
  146.   Interrupts immer neu ermitteln müssen, falls sich diese ändert.
  147.  
  148.